/*
 * GLComponent.h
 *
 *  Created on: Aug 5, 2010
 *      Author: Ry
 */

#ifndef GLCOMPONENT_H_
#define GLCOMPONENT_H_

#include "art/ShaderProgram.h"
#include "gui/Component.h"
#include "texture/Texture.h"

class GLComponent: public Component {
protected:
	ShaderProgram *shaderProgram;
	Texture *backgroundTexture;
public:
	GLComponent(ShaderProgram *shaderProgram);
	void draw();
	virtual ~GLComponent();

	ShaderProgram *getShaderProgram() const {
		return shaderProgram;
	}

	void setShaderProgram(ShaderProgram *shaderProgram) {
		this->shaderProgram = shaderProgram;
	}

	Texture *getBackgroundTexture() const {
		return backgroundTexture;
	}

	void setBackgroundTexture(Texture *backgroundTexture) {
		this->backgroundTexture = backgroundTexture;
	}

};

#endif /* GLCOMPONENT_H_ */
